package hxy.bytecode.function;

import java.util.function.Function;

public class MyFunctionTest {
    public static void main(String[] args) {
        Function<Integer, Integer> name = e -> e * 2;
        Function<Integer, Integer> square = e -> e * e;
//        在function name 中先将 3 乘以2 等于6.再将6作为参数传入 function square中，6*6=36
        int value = name.andThen(square).apply(3);
        System.out.println("andThen value=" + value);
        int value2 = name.compose(square).apply(3);
        System.out.println("compose value2=" + value2);
        //返回一个执行了apply()方法之后只会返回输入参数的函数对象
        Object identity = Function.identity().apply("huohuo");
        System.out.println(identity);
    }
//————————————————
//    版权声明：本文为CSDN博主「咖啡不苦**」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
//    原文链接：https://blog.csdn.net/huo065000/java/article/details/78964382
}
